package com.jl.mapper;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jl.model.User;
import com.jl.model.in.LoginUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 用信息户表 Mapper 接口
 * </p>
 *
 * @author JiangJian
 * @since 2019-03-06
 */
public interface UserMapper extends BaseMapper<User> {

    /**
     * 查询用户列表
     * 这里的Param中必须使用 ew为名称 这是因为使用了mybatisplus中的内定的参数
     * 且在xml中必须是使用 美元符 $ 来作为占位符
     * @param page
     * @param qw
     * @return
     */
    List<Map<String,Object>> selectDataGrid(Page<Map<String,Object>> page, @Param("ew") QueryWrapper<User> qw);

    /**
     * 获取所有的用户信息
     * @return
     */
    List<User> selectAllUser();

    /**
     *用于判断该登录名称是否使用了(编辑时)
     * @param loginName 登录名称
     * @return
     */
    LoginUser selectLoginUserByLoginName(@Param("loginName") String loginName);
    /**
     *用于判断该登录名称是否使用（新增时）
     * @param loginName 用户名
     * @return 结果数量
     */
    Integer selectLoginNameCount(@Param("loginName") String loginName);
    /**
     * 通过登录名获得用户信息
     * @param username
     * @return
     */
    List<User> selectUserByAccount(@Param("loginName") String username);



}
